package main

import (
	"fmt"
	"os"
)

// 重命名文件
func MyRenameFile() {
	err := os.Rename("./basicDemo/data/t1.txt", "./basicDemo/data/t2.txt")
	if err != nil {
		fmt.Println("文件打开失败")
		return
	}
	fmt.Println("文件重命名成功")
}

// 判断文件是否存在
func MyIsExitsFile() {
	/*
		常见权限值
		八进制	字符串	含义	适用场景
		0600	-rw-------	所有者可读可写，其他用户无权限	敏感文件（如密钥）
		0644	-rw-r--r--	所有者读写，组和其他用户只读	普通配置文件
		0700	-rwx------	所有者可执行，其他用户无权限	私有脚本
		0755	-rwxr-xr-x	所有者可读写执行，其他用户可读可执行	公共程序
		0777	-rwxrwxrwx	所有人可读写执行（不推荐）	临时文件或测试
		0666	-rw-rw-rw-	所有人可读可写（不推荐）	共享文件
	*/
	fileObj, err := os.OpenFile("./basicDemo/data/t1.txt", os.O_RDONLY, 0664)

	if os.IsNotExist(err) {
		fmt.Println("文件不存在")
		return
	}
	defer fileObj.Close()
}

// 获取当前工作目录
func MyGetPwd() {
	dir, err := os.Getwd()
	if err != nil {
		fmt.Println("获取路径失败")
		return
	}
	fmt.Println("当前工作路径：", dir)
}

// 修改文件权限
func MyModify() {
	/* os.Chmod("文件路径",新权限) */
	err := os.Chmod("./basicDemo/data/t1.txt", 0644)
	if err != nil {
		fmt.Println("修改权限失败")
		return
	}
}

func main() {
	// 重命名文件
	/* MyRenameFile() */

	// 判断文件是否存在
	/* MyIsExitsFile() */

	// 获取当前工作目录
	/* MyGetPwd() */
}
